package com.mingqijia.gassafety.db.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.mingqijia.gassafety.db.entity.BaseEntity;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.mingqijia.gassafety.db.entity.annotation.OperateLogFiled;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author wanghai
 * @since 2022-02-22
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("consumer")
@ApiModel(value="Consumer对象", description="用户表")
public class Consumer extends BaseEntity {

    private static final long serialVersionUID=1L;

    @OperateLogFiled(name = "客户ID")
    @TableId(value = "Id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "客户类型, 默认0:普通客户,1紫荆客户")
    @TableField("consumer_type")
    private Integer consumerType;

    @ApiModelProperty(value = "VCC用户ID")
    @TableField("member_id")
    private String memberId;

    @ApiModelProperty(value = "客户模板 1-模板一，2-模板二")
    @TableField("template_type")
    private Integer templateType;

    @OperateLogFiled(name = "户号")
    @ApiModelProperty(value = "户号")
    @TableField("subs_code")
    private String subsCode;

    @OperateLogFiled(name = "组织编码")
    @ApiModelProperty(value = "组织编码")
    @TableField("org_code")
    private String orgCode;

    @OperateLogFiled(name = "户名")
    @ApiModelProperty(value = "户名")
    @TableField("cust_name")
    private String custName;

    @OperateLogFiled(name = "户址")
    @ApiModelProperty(value = "户址")
    @TableField("cust_address")
    private String custAddress;

    @OperateLogFiled(name = "户主手机号")
    @ApiModelProperty(value = "户主手机号")
    @TableField("cust_phone")
    private String custPhone;

    @OperateLogFiled(name = "用户类型")
    @ApiModelProperty(value = "户主 用户类型")
    @TableField("cust_type")
    private String custType;

    @ApiModelProperty(value = "户主 用户类型code")
    @TableField("cust_type_code")
    private String custTypeCode;

    @OperateLogFiled(name = "气户状态")
    @ApiModelProperty(value = "气户状态")
    @TableField("cust_status")
    private String custStatus;

    @OperateLogFiled(name = "客户名称")
    @ApiModelProperty(value = "名字")
    @TableField("Name")
    private String name;

    @ApiModelProperty(value = "地址(详细)")
    @TableField("Address")
    private String address;

    @ApiModelProperty(value = "行政区编码")
    @TableField("AdCode")
    private String adCode;

    @ApiModelProperty(value = "电话")
    @TableField("Phone")
    private String phone;

    @OperateLogFiled(name = "经度")
    @ApiModelProperty(value = "经度")
    @TableField("Position_Lon")
    private Double positionLon;

    @OperateLogFiled(name = "纬度")
    @ApiModelProperty(value = "纬度")
    @TableField("Position_Lat")
    private Double positionLat;

    @ApiModelProperty(value = "部门id")
    @TableField("DepartmentId")
    private Integer departmentId;

    @TableField("Path")
    private String path;

    @ApiModelProperty(value = "更新时间")
    @TableField("Status_UpdateTime")
    private Date statusUpdatetime;

    @ApiModelProperty(value = "是否报警")
    @TableField("Status_AnyAlert")
    private Boolean statusAnyalert;

    @ApiModelProperty(value = "是否故障")
    @TableField("Status_AnyBroken")
    private Boolean statusAnybroken;

    @ApiModelProperty(value = "是否正常")
    @TableField("Status_AnyNormal")
    private Boolean statusAnynormal;

    @ApiModelProperty(value = "是否离线")
    @TableField("Status_AnyOffline")
    private Boolean statusAnyoffline;

    @OperateLogFiled(name = "所属行业", dict = "industry_type")
    @ApiModelProperty(value = "所属行业 -字典名称industry_type")
    @TableField("Industry_Type")
    private String industryType;

    @ApiModelProperty(value = "客户序号")
    @TableField("consumer_seq")
    private String consumerSeq;

    @ApiModelProperty(value = "设备总数")
    @TableField("equipment_total")
    private Integer equipmentTotal;

    @ApiModelProperty(value = "点位总数")
    @TableField("point_total")
    private Integer pointTotal;

    @OperateLogFiled(name = "备注")
    @ApiModelProperty(value = "0-系统录入 1-时刻助手  2-老时刻助手")
    @TableField("source")
    private Integer source;

    @ApiModelProperty(value = "0 正常 1 不可编辑")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "备注 200字以内")
    @TableField("remark")
    private String remark;

    @ApiModelProperty(value = "服务信息更新人")
    @TableField("service_creator")
    private String serviceCreator;

    @ApiModelProperty(value = "服务信息更新人名字")
    @TableField("service_creator_name")
    private String serviceCreatorName;

    @ApiModelProperty(value = "service_update_time")
    @TableField("service_update_time")
    private Date serviceUpdateTime;

    @ApiModelProperty(value = "客户企业编码")
    @TableField("company_code")
    private String companyCode;

    @ApiModelProperty(value = "客户地址")
    @TableField("customer_address")
    private String customerAddress;

    @ApiModelProperty(value = "数据来源 0代表系统创建， 1代表厨房创建")
    @TableField("data_source")
    private Integer dataSource;

    @OperateLogFiled(name = "设备检定时间", pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "设备检定时间")
    @TableField("verification_time")
    private Date verificationTime;

    @ApiModelProperty(value = "企业编号")
    @TableField("sp_id")
    private String spId;

    @TableField("city_code")
    private String citycode;

    @TableField("district_code")
    private String districtcode;

    @TableField("town_code")
    private String towncode;

    @ApiModelProperty(value = "服务套餐id")
    @TableField("pkg_id")
    private Integer pkgId;

    @OperateLogFiled(name = "服务套餐")
    @ApiModelProperty(value = "套餐名称")
    @TableField("pkg_name")
    private String pkgName;

    @TableField(exist = false)
    private String realAddress;
    @TableField(exist = false)
    private String bindingOrderId;
    @TableField(exist = false)
    private String position;

}
